package com.sky.service;

import com.sky.dto.OrdersPageQueryDTO;
import com.sky.dto.OrdersConfirmDTO;
import com.sky.dto.OrdersPaymentDTO;
import com.sky.dto.OrdersRejectionDTO;
import com.sky.dto.OrdersSubmitDTO;
import com.sky.result.PageResult;
import com.sky.vo.OrderDetailVO;
import com.sky.vo.OrderPaymentVO;
import com.sky.vo.OrderSubmitVO;

public interface OrderService {


    OrderSubmitVO submitOrder(OrdersSubmitDTO ordersSubmitDTO);

    void paySuccess(String outTradeNo);

    OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO);

    /*
    历史订单查询
     */
    PageResult pageQuery(Integer page, Integer pageSize, Integer status);

    /*
    订单搜索
     */
    PageResult conditionSearch(OrdersPageQueryDTO dto);

    /**
     * 查看订单
     * @return
     */
    OrderDetailVO selectOrder(Long orderId);

    /**
     *
     * @param orderId
     */
    void updateCancel(Long orderId) throws Exception;

    void confirm(OrdersConfirmDTO ordersConfirmDTO);

    void reject(OrdersRejectionDTO ordersRejectionDTO) throws Exception;

    void repetition(Long id);
}
